/**
 * 
 */
package com.zaprit.search.bo;

import java.util.Map;

import com.rdo.common.bo.Attachment;
import com.rdo.scope.bo.StatefulScopeEntity;

/**
 * @author Root Each Item is a file and its fieldMap are its content and system
 *         attributes contain the file information
 */
public class Item extends StatefulScopeEntity
{
	/**
	 * 
	 */
	private static final long	serialVersionUID	= 742362608513861640L;

	private String				itemId				= null;
	private int					itemVersion			= 1;
	// Remember not to be set while indexing but to be set while fetching
	private String				searchSnippet		= null;
	private Attachment			attachment			= null;
	private Map<String, Object>	attributes			= null;

	/**
	 * @return the itemId
	 */
	public String getItemId()
	{
		return itemId;
	}

	/**
	 * @param itemId
	 *            the itemId to set
	 */
	public void setItemId(String itemId)
	{
		this.itemId = itemId;
	}

	/**
	 * @return the itemVersion
	 */
	public int getItemVersion()
	{
		return itemVersion;
	}

	/**
	 * @param itemVersion
	 *            the itemVersion to set
	 */
	public void setItemVersion(int itemVersion)
	{
		this.itemVersion = itemVersion;
	}

	/**
	 * @return the searchSnippet
	 */
	public String getSearchSnippet()
	{
		return searchSnippet;
	}

	/**
	 * @param searchSnippet
	 *            the searchSnippet to set
	 */
	public void setSearchSnippet(String searchSnippet)
	{
		this.searchSnippet = searchSnippet;
	}

	/**
	 * @return the attachment
	 */
	public Attachment getAttachment()
	{
		return attachment;
	}

	/**
	 * @param attachment
	 *            the attachment to set
	 */
	public void setAttachment(Attachment attachment)
	{
		this.attachment = attachment;
	}

	/**
	 * @return the attributes
	 */
	public Map<String, Object> getAttributes()
	{
		return attributes;
	}

	/**
	 * @param attributes
	 *            the attributes to set
	 */
	public void setAttributes(Map<String, Object> attributes)
	{
		this.attributes = attributes;
	}
}
